// 定义全局的点击删除按钮，传过来的id
let houseId = ''
let house_index = ''
Page({
  data: {
    dialogVisible: false,
    houseList: []
  },
  // 在进入房屋页的时候，渲染房屋列表
  onShow() {
    this.getHomeList()
  },
  async getHomeList() {
    // 请求房屋列表数据
    const { code, data } = await wx.http.get('/room')
    // 验证返回的请求信息
    if (code !== 10000) return wx.utils.toast()
    // 修改数据
    this.setData({
      houseList: data
    })
  },
  // 点击侧滑组件中的删除按钮
  clickDeleteBtn(ev) {
    console.log(ev, '点击了侧滑组件中的删除按钮传过来的id')
    houseId = ev.mark.id
    house_index = ev.mark.house_index
    const { position, instance } = ev.detail

    if (position === 'right') {
      // 显示 Dialog 对话框
      this.setData({
        dialogVisible: true,
      })

      // 关闭 swiper-cell 滑块组件
      instance.close()
    }
  },
  // 确认框关闭
  async dialogClose(ev) {
    // console.log('确认框关闭了')
    console.log(ev.detail)
    if (ev.detail === 'confirm') {
      // 调取删除的接口
      const { code } = await wx.http.delete(`/room/${houseId}`)
      if (code !== 10000) return wx.utils.toast()
      // 刷新页面列表数据方式一: 调用获取列表数据的接口
      // this.getHomeList()
      // 刷新页面列表数据方式二: 前端手动删除该条数据
      this.data.houseList.splice(house_index, 1)
      // 注意区分vue，vue的话上一步就可以做到页面删除的效果了
      // 小程序规定，删除完后，必须把这个值，重新赋值给data中的这个列表才可以
      this.setData({
        houseList: this.data.houseList
      })
    }
  },

  goDetail(ev) {
    wx.navigateTo({
      url: `/house_pkg/pages/detail/index?id=${ev.mark.id}`,
    })
  },

  addHouse() {
    wx.navigateTo({
      url: '/house_pkg/pages/locate/index',
    })
  },
})
